package org.fatewa.engine.genius.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 字段查询支持
 *
 * @author 4everlynn
 * @version V1.0
 * @date 2021/9/2
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Public {

    /**
     * 当前字段是否支持等于查询，默认不支持
     *
     * @return 当前字段是否支持等于查询
     */
    boolean eq() default false;

    /**
     * 当前字段是否支持模糊查询，默认不支持
     *
     * @return 当前字段是否支持模糊查询
     */
    boolean like() default false;

    /**
     * 当前字段是否支持区间查询，默认不支持
     *
     * @return 当前字段是否支持区间查询
     */
    boolean bet() default false;

    /**
     * 当前字段是否支持小于查询，默认不支持
     *
     * @return 当前字段是否支持小于查询
     */
    boolean lt() default false;

    /**
     * 当前字段是否支持大于查询，默认不支持
     *
     * @return 当前字段是否支持大于查询
     */
    boolean gt() default false;

    /**
     * 当前字段是否支持小于等于查询，默认不支持
     *
     * @return 当前字段是否支持小于等于查询
     */
    boolean le() default false;

    /**
     * 当前字段是否支持大于等于查询，默认不支持
     *
     * @return 当前字段是否支持大于等于查询
     */
    boolean ge() default false;

    /**
     * 当前字段是否支持排序，默认不支持
     *
     * @return 当前字段是否支持排序
     */
    boolean order() default false;
}
